go/types.funcDecl.decl (field)
19 uses
go/types (current package)
decl.go#L358: funcDecl struct{ decl *ast.FuncDecl }
decl.go#L365: func (d funcDecl) node() ast.Node { return d.decl }
resolver.go#L390: name := d.decl.Name.Name
resolver.go#L391: obj := NewFunc(d.decl.Name.Pos(), pkg, name, nil)
resolver.go#L393: if d.decl.Recv.NumFields() == 0 {
resolver.go#L395: if d.decl.Recv != nil {
resolver.go#L396: check.error(d.decl.Recv, _BadRecv, "method is missing receiver")
resolver.go#L404: if d.decl.Type.TypeParams.NumFields() != 0 {
resolver.go#L405: check.softErrorf(d.decl.Type.TypeParams.List[0], code, "func %s must have no type parameters", name)
resolver.go#L408: if t := d.decl.Type; t.Params.NumFields() != 0 || t.Results != nil {
resolver.go#L410: check.softErrorf(d.decl, code, "func %s must have no arguments and no return values", name)
resolver.go#L416: check.recordDef(d.decl.Name, obj)
resolver.go#L418: if d.decl.Body == nil {
resolver.go#L423: check.declare(pkg.scope, d.decl.Name, obj, token.NoPos)
resolver.go#L433: ptr, recv, _ := check.unpackRecv(d.decl.Recv.List[0].Type, false)
resolver.go#L440: check.recordDef(d.decl.Name, obj)
resolver.go#L442: if d.decl.Type.TypeParams.NumFields() != 0 && !check.allowVersion(pkg, 1, 18) && !hasTParamError {
resolver.go#L443: check.softErrorf(d.decl.Type.TypeParams.List[0], _UnsupportedFeature, "type parameters require go1.18 or later")
resolver.go#L445: info := &declInfo{file: fileScope, fdecl: d.decl}